const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
	lintOnSave: false,
	transpileDependencies: true,
	devServer: {
		port: 8848,
		host: '0.0.0.0', //主机名， 127.0.0.1， 真机 0.0.0.0
		https: false,
		proxy: {
			'/': {
				target: 'http://192.168.1.19:8080',
				changeOrigin: true, //是否跨域
				// secure: false,          // 设置支持https协议的代理
				// pathRewrite: {
				//     "^/wechat": "", //路径重写// 这里可以理解为用‘/api’来代替target里面的地址，例如我们调用http://jspang.com/DemoApi/oftenGoods.php，直接写成‘/api/DemoApi/oftenGoods.php’就可以了
				// },
				// logLevel: "debug"
			},
		},
	},
	// 第三方插件配置
	pluginOptions: {
		// vue-cli-plugin-electron-builder 配置
		electronBuilder: {
			// nodeIntegration:true,
			// preload: 'src/preload.js',
			builderOptions: {
				// 设置打包之后的应用名称
				productName: '石锛锛',
				publish: [
					{
						provider: 'generic',
						url: 'http://121.224.76.39:8002/fstest/upload/', // 此处是服务器或者node服务器包文件的目录地址，把打包好的文件都拖进去
					},
				],
				win: {
					icon: 'static/icons/logo_256x256.ico',
					// 图标路径 windows系统中icon需要256*256的ico格式图片，更换应用图标亦在此处
					target: [
						{
							// 打包成一个独立的 exe 安装程序
							target: 'nsis',
							// 这个意思是打出来32 bit + 64 bit的包，但是要注意：这样打包出来的安装包体积比较大
							arch: [
								'x64',
								// 'ia32'
							],
						},
					],
				},
				dmg: {
					contents: [
						{
							x: 410,
							y: 150,
							type: 'link',
							path: '/Applications',
						},
						{
							x: 130,
							y: 150,
							type: 'file',
						},
					],
				},
				linux: {
					// 设置linux的图标
					icon: 'static/icons/logo_256x256.png',
					target: 'AppImage',
				},
				mac: {
					icon: 'static/icons/logo_256x256.icns',
				},
				files: ['**/*'],
				extraResources: [
					{
						// 拷贝静态文件到指定位置,否则打包之后出现找不到资源的问题
						from: 'static/',
						to: './',
					},
				],
				asar: false,
				nsis: {
					// 是否一键安装，建议为 false，可以让用户点击下一步、下一步、下一步的形式安装程序，如果为true，当用户双击构建好的程序，自动安装程序并打开，即：一键安装（one-click installer）
					oneClick: false,
					// 允许请求提升。 如果为false，则用户必须使用提升的权限重新启动安装程序。
					allowElevation: true,
					// 允许修改安装目录，建议为 true，是否允许用户改变安装目录，默认是不允许
					allowToChangeInstallationDirectory: true,
					// 安装图标
					installerIcon: 'static/icons/logo_256x256.ico',
					// 卸载图标
					uninstallerIcon: 'static/icons/logo_256x256.ico',
					// 安装时头部图标
					installerHeaderIcon: 'static/icons/logo_256x256.ico',
					// 创建桌面图标
					createDesktopShortcut: true,
					// 创建开始菜单图标
					createStartMenuShortcut: true,
					shortcutName: '石锛锛',
				},
			},
			chainWebpackMainProcess: config => {
				config.plugin('define').tap(args => {
					args[0].IS_ELECTRON = true
					return args
				})
			},
			chainWebpackRendererProcess: config => {
				config.plugin('define').tap(args => {
					args[0].IS_ELECTRON = true
					return args
				})
			},
			externals: ['electron-edge-js'],
		},
	},
})
